문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 R(프로그래밍 언어) (문단 편집) == 단점 == * 난이도 어렵다. 물론 이것은 컴퓨터 공학자가 아니라 일반인 입장에서 어렵다는 것이다. 해외의 프로그래머 커뮤니티를 둘러봐도 R의 난이도에 대한 악명을 쉽게 찾아볼 수 있다. 이 악명이 나온 이유가 있다. R이 원래 통계 프로그래밍 언어인 S를 그대로 배껴서 만들었기 때문이다.[* R를 S의 구현체 중 하나로 보기도 한다.] 문제는 통계학자들도 R언어를 배워야 하는데, 다양하게 만들고 분석할 수 있는 장점과 프로그래밍을 알아야 한다는 단점을 가지게 되었다. 통계분석 프로그램으로 유명한 SAS, STATA, Minitab에 비하면 월등히 어려워서 한 동안은 대학에서도 취급하지 않았고, 일부 저널에서는 받아주지도 않았다. 2000년대 중후반에 코딩이 중요해지면서, R의 인기가 올라갔다. 인기가 올라간 이유 중 가장 큰 이유는 '공짜'라는 것이다. 통계 분석하는 함수들이 기본적으로 들어가있으면서, 무료로 프로그래밍이 가능하기에 현재 많은 통계분석 프로그램 유일하게 SAS의 명성을 따라잡을 수 있는 언어가 되었다. 이에 따라 R의 인기를 견제하고자 하는 SAS 또한 자사 프로그램을 '''대학'''에 무료 배포를 시작했다.[* 담배회사에서 담배를 훔치는 청소년을 잡지말라는 것처럼, 대학시절부터 SAS에 익숙해져야 사회나가서도 SAS를 찾기 때문. 회사에서 SAS를 쓰려면 정말 비싸게 주고 라이센스를 구매해야한다.] 나이 지긋하신 교수님들은 본인들이 대학원 시절에는 SAS를 통해 배웠기 때문에 그 교수님들 수업을 들으면 SAS를 어느 정도 알아야 이해를 할 수 있는 수업을 하는 경우가 많다.[* 특히 실험계획법이나 회귀분석과 같은 선형모형 수업. 이제 정년을 앞둔 사람 입장에서 이미 수업에서 사용되는 예제들의 코드가 만들어져 있어서 Run 한 번만 누르면 되는데, 굳이 새로운 언어를 배워서 코드를 바꿀 사람은 거의 없기 때문. ~~하지만 [[대학원생]]이 있다면...~~] 반대로 비교적 최근에 임용된 교수님들은 데이터 분석에서 R 또는 Python을 훨씬 더 많이 사용한다. * 프로그래밍 언어로서의 설계 R은 입문자가 배우기에도 쉽지 않은 반면에, 정작 프로그래밍에 숙련된 사람에게도 당혹스러운 측면이 많다. 이는 R의 설계 자체가 일관적으로 통합되지 않았기 때문이다. 예컨대 [[객체 지향 프로그래밍]]을 위한 기본 클래스 종류만 해도 S3 클래스, S4 클래스로 나뉘어져 있으며, 최근에는 R6 패키지를 이용한 R6 클래스가 대두되고 있다.[* R6 패키지는 S3, S4 클래스보다 더 일반적인 객체지향 프로그램을 하기 위해 개발되었다. Perl 의 Moose와 비슷한 측면이 있다.] 이러한 환경에 익숙하지 않은 사람은 객체지향 프로그래밍을 어떤 클래스로 구현할지부터 막막할 수 있다. 대개 다른 프로그래밍 언어에서는 상위 객체에 접근하는 리터럴로 사용되는 "."을 변수 이름에 버젓히 사용할 정도로[* R에서는 "."을 변수 이름으로 사용하는 대신 "$" 이 쓰인다.] 다른 객체지향 프로그래밍 언어와 차이도 크다. * 메모리 큰 데이터 집합을 이용할 때 문제가 발생할 수 있다. 데이터를 물리적 메모리에 저장해야 하기 때문이다. 데이터 뿐만 아니라, 분석할 때 사용하는 모든 '패키지'를 메모리에 저장하면서 사용하기 때문에 큰 메모리가 필요하다. 예로 들면, 몇 기가바이트 급의 데이터를 분석한다면, 패키지에 데이터를 램에 저장한다고 생각하면, 기본 맥북처럼 4GB 램인 컴퓨터는 분석도 제대로 못한다. 때문에 효율이 중시되는 프로젝트에서는 먼저 R로 구현한 후 그걸 [[C언어|C]] 등의 일반 프로그래밍 언어로 포팅하는 경우가 많다. 다른 경우는 복잡한 데이터 작업은 [[C언어|C]] 또는 [[포트란|Fortran(포트란)]]에서 작업시키고 결과만 가져오는 방식을 사용하기도 한다. 다만, 컴퓨터에 장착되는 메모리 용량이 증가함에 따라 이 문제는 점점 개선되고 있다.[* 물론 개선된다기보단 문제시되지 않는 쪽으로 변하는 중이라는 것이다.] * [[정보보호]] 기능 없음 과거에는 R을 백엔드 [[서버]]로 사용하여 계산을 수행하는 것도 불가능했으나, [[아마존닷컴]] 웹 서비스 클라우드 플랫폼에서 가상 컨테이너를 사용하는 등의 기술이 개발되면서 보안 문제는 개선됐다. * 프로그램 자체의 한국어 기능을 제공하지 않는다. 다른 프로그램들마냥 한국어 주석을 생각없이 넣었다가는 코드를 잘 짜놓고도 오류를 뽑아대는 모습을 볼 수 있을 것이다. 특히 함수나 for문 등 연속적인 작업이 이루어지는 코드 내부에 한글로 이루어진 주석을 꽉꽉 채워 넣거나 하지는 말도록 하자.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기